﻿#define _CRT_SECURE_NO_WARNINGS 1





//
//在有些问题中，我们需要维护若⼲个集合，并且基于这些集合要频繁执⾏下⾯的操作：
//• 查询操作：查找元素 x 属于哪⼀个集合。⼀般会在每个集合中选取⼀个元素作为代表，查询的是

//这个集合中的代表元素；
//• 合并操作：将元素 x 所在的集合与元素 y 所在的集合合并成⼀个集合；（注意，合并的是元素所
//在的集合，不是这两个元素！）
// 
//• 判断操作：判断元素 x 和 y 是否在同⼀个集合。


//
//并查集（Union Find）：是⼀种⽤于维护元素所属集合的数据结构，实现为⼀个森林，其中每棵树表⽰⼀个集合，树中的节点表⽰对应集合中的元素，根节点来代表整个集合。